<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class Detalles extends CI_Controller {

    public function __construct() {
        parent::__construct();
        session_start();
          $this->estaLogueado();
        $this->load->model('reservaM');
        $this->load->model('usuariosM');
        $this->load->model('clienteM');
        $this->load->model('cuartoM');
        $this->load->model('reserva_x_cuartoM');
        $this->load->model('cliente_x_reservaM');
    }

    public function index() {
        if ($this->validarReserva()) {
            $data = array();
            $this->loadData($data);
            $this->load->view('header', $data);
            $this->load->view('menuCalendarioV/headMenuCalendario');
            $this->load->view('menuCalendarioV/detallesV');
            $this->load->view('menuCalendarioV/footerMenuCalendario');
            $this->load->view('footer');
        } else {
            $_SESSION["mensaje"]["contenido"] = " La reserva no existe.";
            $_SESSION["mensaje"]["tipo"] = "advertencia";
            header("Location:calendario");
        }
    }

    public function guardarNota() {
        $this->escapar($_POST);
        if (isset($_POST["nota"]) && !empty($_POST["idReserva"])) {
            if ($this->validarReservaPost($_POST["idReserva"])) {
                $this->reservaM->guardarNota($_POST["nota"], $_POST["idReserva"]);
                $_SESSION["mensaje"]["contenido"] = "La nota se guardó correctamente.";
                $_SESSION["mensaje"]["tipo"] = "exito";
                header("Location:../detalles?reserva={$_POST["idReserva"]}");
            } else {
                $_SESSION["mensaje"]["contenido"] = " La reserva no existe.";
                $_SESSION["mensaje"]["tipo"] = "advertencia";
                header("Location:../calendario");
            }
        } else {
            $_SESSION["mensaje"]["contenido"] = " La reserva no existe.";
            $_SESSION["mensaje"]["tipo"] = "advertencia";
            header("Location:../calendario");
        }
    }

    private function loadData(&$data) {
        $this->escapar($_GET);
        $idReserva = $_GET["reserva"];
        $data["tab"] = "detalles";
        $data["reserva"] = $this->reservaM->consultarReservasPorID($idReserva);
        $this->formatoFechaVista($data["reserva"][0]->fecha_ingreso);
        $this->formatoFechaVista($data["reserva"][0]->fecha_salida);
        $data["nombreUsuarioCreacion"] = $this->usuariosM->obtenerDatos("nombre_completo", $data["reserva"][0]->usuario_creacion);
        if ($data["reserva"][0]->checkin_realizado != '') {
            $data["nombreUsuarioCheckin"] = $this->usuariosM->obtenerDatos("nombre_completo", $data["reserva"][0]->usuario_check_in);
        }
        if ($data["reserva"][0]->checkout_realizado != '') {
            $data["nombreUsuarioCheckout"] = $this->usuariosM->obtenerDatos("nombre_completo", $data["reserva"][0]->usuario_check_out);
        }
        $data["nombreCliente"] = $this->clienteM->obtenerDatos("nombre,apellido", $data["reserva"][0]->id_cliente);
        $idCuarto = $this->reserva_x_cuartoM->obtenerDatos("id_cuarto", $data["reserva"][0]->id_reserva);
        $data["cuarto"] = $this->cuartoM->obtenerDatos("nombre, tipo", $idCuarto[0]->id_cuarto);
        $data["estadoReserva"] = $this->reservaM->obtenerDatos("checkin_realizado,checkout_realizado", $idReserva);
    }

    private function validarReserva() {
        if (!empty($_GET["reserva"])) {
            $r = $this->reservaM->esMiReserva($_GET["reserva"], $_SESSION['establecimiento']['id_establecimiento']);
            if ($r[0]->cantidad == 1) {
                return true;
            } else {
                return false;
            }
        }
    }

    private function validarReservaPost($idReserva) {
        $r = $this->reservaM->esMiReserva($idReserva, $_SESSION['establecimiento']['id_establecimiento']);
        if ($r[0]->cantidad == 1) {
            return true;
        } else {
            return false;
        }
    }

    private function formatoFechaVista(&$fecha) {
        $fecha = explode("-", $fecha);
        $fecha = "$fecha[2]/$fecha[1]/$fecha[0]";
    }

}